package com.tianma315.admin.invocie.service;

//                   _ooOoo_
//                  o8888888o
//                  88" . "88
//                  (| -_- |)
//                  O\  =  /O
//               ____/`---'\____
//             .'  \\|     |//  `.
//            /  \\|||  :  |||//  \
//           /  _||||| -:- |||||-  \
//           |   | \\\  -  /// |   |
//           | \_|  ''\---/''  |   |
//           \  .-\__  `-`  ___/-. /
//         ___`. .'  /--.--\  `. . __
//      ."" '<  `.___\_<|>_/___.'  >'"".
//     | | :  `- \`.;`\ _ /`;.`/ - ` : | |
//     \  \ `-.   \_ __\ /__ _/   .-` /  /
//======`-.____`-.___\_____/___.-`____.-'======
//                   `=---='
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//         佛祖保佑       永无BUG

import com.baomidou.mybatisplus.plugins.Page;
import com.tianma315.admin.invocie.domain.Invoice;
import com.tianma315.admin.invocie.domain.dto.InvoiceDto;
import com.tianma315.admin.invocie.domain.vo.InvoiceVo;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * Description
 * <p>
 * Created by zcm on 2019/5/23.
 */
public interface InvoiceService {

    /**
     * 分页查询
     *
     * @param pageNumber
     * @param pageSize
     * @param searchKey
     * @return
     */
    Page<InvoiceVo> getPage(Integer pageNumber, Integer pageSize, String searchKey);

    /**
     * 添加货单
     *
     * @param invoice
     * @return
     */
    boolean save(InvoiceDto invoice);

    Invoice getInvoiceById(Integer id);

    boolean updateInvoiceById(InvoiceDto invoiceDto);

    boolean deleteInvoiceById(Long id);

    HSSFWorkbook exportInvoice();

    void importInvoice(MultipartFile file, Long userId);

    List<InvoiceVo> getInvoiceByProductId(Long productId,String batch);
}
